#ifndef QUESTION_H
#define QUESTION_H

#include <QObject>
#include <QMap>

class Question : public QObject
{
    Q_OBJECT
public:
    //! Question text.
    QString question;
    //! Stores answers.
    QList<QString> answers;
    /*!
      Stores boolean values determining if an answer is right.
      For example, answers[i] is right if trueAnswers[i] is set to true.
      I had absolutely no idea how to name it.
     */
    QList<bool> trueAnswers;
    //! How many answers are correct?
    int ntAnswers;
    //! How many times should this question be shown?
    int score;
    //! How much should score increase in case of failed answer?
    int penalty;

    explicit Question(QObject *parent = 0);
    int getRightAnswerId(int);
    bool isCorrect(int);
    void shuffleAnswers();
    void selectedAnswer(bool);
    void setScore(int score);
    void setPenalty(int penalty);

signals:

public slots:

};

#endif // QUESTION_H
